iT邦幫忙

2023 iThome 鐵人賽

DAY 1
4

前言

嗨各位好,我是一隻想轉職成前端的菜雞海獺,目前還在轉職的路上,所以每天努力的啄米(還是要敲貝殼XD?)中。這系列文章會以我的理解,搭配上估狗大神、ChatGpt 等所有網路資源,來學習、理解與輸出文章。這次鐵人文章的大綱也是由 gpt 產生的,生完後稍加修改這樣。文中若有錯誤請不吝指教,謝謝觀看文章的你們。本篇介紹 HTML 基本結構與常用語法。

想往前端路邁進,一定要認識前端三本柱:HTML、CSS 與 JavaScript。它們是現代網頁不可缺少的基礎。首先從理解 HTML 是什麼開始吧!

HTML 是什麼

HTML(HyperText Markup Language,超文本標記語言)是一種標記語言,也是網頁的基礎,它定義了網頁的內容與結構、也讓瀏覽器知道每個區塊的用途,以正確顯示。全球資訊網協會(World Wide Web Consortium,W3C)制定了 HTML 各版本的推薦規範,遵循這個規範,確保網頁在大部分瀏覽器都可以正常顯示。

HyperText(超文本、超文件)是指文件包含了指向其他文件的連結,這些連結與讀小說的單一線性流不同。閱讀一本小說時,為了得到結果,你會一直往前翻下去;而在超文本中有各種連結,藉這些連結,讓我們可以在不同頁面間往返。

當你由站內或站外連結去往各個頁面時,你就進入了全球資訊網(World Wide Web)。


Fig. 1. www

怎麼聽起來有點耳熟?嘿沒錯,就是網址上的 www。但今天主角不是它,先略過,以後有機會再來填坑。

網頁的內容可以是各種元素,常見的有段落、圖片、表格等等。替 HTML 加上外觀(CSS)與功能(JavaScript)後,就成了我們現在見到的各種美美的、充滿互動的或靜態的網頁。


HTML 裡面有什麼?

HTML 是一種標記語言(markup language),它是由各種元素組成的。藉由這些元素,可以讓瀏覽器知道要呈現的是什麼「東西」。

元素(elements)

元素是網頁結構的一部分。大部分狀況下,一個元素會有一個開始標籤(opening tag)與結束標籤(closing tag),在這兩個標籤之內則是內容(content)。

通常標籤的前後會用 <> 包覆,結尾標籤的元素名稱前會多了 /。


Fig. 2. 元素基本架構,MDN,參考資料 1.

以 Fig. 2. 為例,這個元素的名稱是 p,開始標籤是 <p>,結束標籤是 </p>,內容是 My cat... 這句文字。

元素本身也是 DOM(文件物件模型,document object model)的一部分,瀏覽器會將 DOM 以網頁的方式呈現。

DOM 也是個坑,之後再來填。

屬性(attributes)

在某些時候會為元素加上屬性(attributes),屬性可以為元素增加更多功能。

屬性的組成有幾個規定:

  • 元素名稱與屬性間,前後需以空格區分
  • 屬性名稱後需接上等號 =
  • 屬性必須包覆在起始標籤內


Fig. 3. 元素的屬性,MDN,參考資料 1.

以 Fig. 3. 為例,你可以為 <p> 加上一個屬性 class="editor-note",再由這個屬性去控制 <p> 的 CSS,例如:顏色、背景、對齊方式等;你也可以用 JavaScript 控制這個 class,達到與元素互動的效果。

另外,元素也可以是巢狀的:

<div>
  嗨你好,我是一隻海獺,我想<strong>轉職</strong>
</div>


Fig. 4. 示意圖。它還可以更巢。

空元素

少部分元素沒有結尾標籤,稱為空元素(empty element)。例如 <img>, <input>,可以到 MDN 裡查看更多。

自閉合標籤(self-closing tags)

在 HTML 中,那些只有開頭沒有結尾的元素,例如 <img>、<input> 等,某些 code formatters 會自動在這些空元素的最後加上 /, 使易讀性更高。

但對 HTML5 來說,有沒有那一槓 / 它都看得懂。

例:<input> 變成 <input/>

例:<link />、<br />、<hr /> 、<img />、<input />


參考資料:

  1. HTML 基礎 - 學習該如何開發 Web | MDN, https://developer.mozilla.org/zh-TW/docs/Learn/Getting_started_with_the_web/HTML_basics
  2. Empty element - 術語表 | MDN, https://developer.mozilla.org/zh-TW/docs/Glossary/Void_element
  3. HTML:超文本標記語言 | MDN, https://developer.mozilla.org/zh-TW/docs/Web/HTML
  4. What is Hypertext?, https://www.w3.org/WhatIs.html
  5. Hypertext - MDN Web Docs Glossary: Definitions of Web-related terms | MDN, https://developer.mozilla.org/en-US/docs/Glossary/Hypertext
  6. w3school HTML 簡介, https://www.w3schools.com/html/html_intro.asp
  7. 什麼是Hypertext(超文件)?Hypertext的發展簡史, https://www.ctimes.com.tw/culture/showbox-tw.asp?o=HJN865UPFMKCU-0PTH

下一篇
D2 - HTML - 結構
系列文
GPT 救救我!菜雞小海獺的前端成長之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言